Computer systems typically include bulk storage systems, such as magnetic disc drives, optical storage devices, tape drives, or solid state storage drives, among other storage systems. In these computer systems, a host system, such as a network device, server, or end-user computing device, communicates with external bulk storage systems to store data or to access previously stored data. These bulk storage systems are traditionally limited in the number of devices that can be addressed in total, which can be problematic in environments where higher capacity or higher performance is desired.
One such storage technology variety, namely solid state media, typically relies upon non-moving underlying storage medium elements, such as flash memory, phase change memory, magnetoresistive random access memory (MRAM), or other media. Although the solid state memory types can see increased throughput relative to moving disc and tape media, these solid state memory types still have throughput limitations. Also, data access in some solid state media is typically performed in large blocks, such as in NAND flash memory, and the desired data portions must be accessed and parsed by the underlying storage media control elements before subsequent reads or writes can occur. Also, typical solid state memory drives exchange data over a single physical link, which further limits data access flexibility and throughput. However, increasing data storage and retrieval in networked, cloud, and enterprise environments find these limitations of solid state memory and associated drive electronics increasingly troublesome.
Overview
In the examples discussed herein, a plurality of solid state memory subsystems are included in a single device and managed by a storage processing system separate from a host system. Each of the plurality of memory subsystems are internally addressed and mapped by the storage processing system in a parallel manner over multiple channels to allow increased capacity, reduced latency, increased throughput, and more robust feature sets than traditional bulk storage systems.
Examples disclosed herein include systems, methods, and software of solid state storage devices. In an example, a data storage device is presented that includes an interface system configured to communicate over an aggregated host link comprising Peripheral Component Interconnect Express (PCIe) interfaces to receive one or more write operations for storage of data by the data storage device. The data storage device includes plurality solid state drives (SSDs) each comprising drive PCIe interfaces coupled to the interface system. The interface system is configured to process the one or more write operations against storage allocation information to parallelize the data among the SSDs and transfer portions of the parallelized data to associated SSDs over corresponding drive PCIe interfaces.